Skip to content

infra: move app-architecture to getting-started + copy portal images#257

Open
marc0olo wants to merge 4 commits into
mainfrom
infra/images-app-arch-suggestions
Open

infra: move app-architecture to getting-started + copy portal images#257
marc0olo wants to merge 4 commits into
mainfrom
infra/images-app-arch-suggestions

Conversation

@marc0olo
Copy link
Copy Markdown
Member

@marc0olo marc0olo commented May 13, 2026

Summary

  • Move app-architecture.md to Getting Started (order 3, between Project structure and Choose your path): this is a first-day architectural decision, not a deep-dive concept. Moving it here means every new developer encounters it right after they understand the project files and before they pick a track. All inbound links and the sidebar config are updated.

  • Embed 5 concept diagrams ported from the portal, each evaluated against the portal source context and the current content of the target page.

Embedded images

Image Target page What it shows
app-arch.png getting-started/app-architecture.md Two-canister model: browser → frontend canister → backend canister
inside-canister.png concepts/canisters.md Canister components: input/output queues, Wasm module, memory, cycles, controllers
key_derivation.png concepts/chain-key-cryptography.md BIP-32-style key derivation hierarchy from subnet master key to canister child keys
vetkd_diagram.png concepts/vetkeys.md vetKD protocol flow: transport key, threshold derivation, client decryption
vetkd_derivation.png concepts/vetkeys.md vetKD key hierarchy: subnet master → canister master → subkeys via context + input

Images not ported and why

Image(s) Reason
call-canister.png Decorative in portal (plain arrow diagram); no information beyond existing prose in calling-from-clients.md
retry_idempotency.png idempotency.md already has a native PlantUML diagram covering the exact same retry loop
ingress_async_call.png, ingress_sync_call.png https-interface.md already covers both patterns with a PlantUML state diagram and full prose
transaction-overview.svg Portal used it in cycles cost formulas page; no equivalent page in developer-docs
app-flow.png Redundant with app-arch.png already embedded
sdk-protocol-local-overview.svg, sdk-protocol-network.svg Orphaned in portal (not referenced in any portal doc page)
NNS/governance app UI screenshots (~94) UI-specific captures that go stale with app updates
Developer Liftoff + hackathon tutorial screenshots (~156) Step-by-step tutorial captures, not reusable concept illustrations
Custom domain DNS provider screenshots (8) Provider UI that will go stale
Internet Identity UI flow screenshots (~16) Tutorial-specific; ii_mobile_delegation_chain.png already in developer-docs
HTTPS outcalls Candid UI screenshots (~5) Tutorial step captures
Language/tooling icons (~6) Not needed in prose
create-canister.png, install-canister.png Could fit canister management guides; need page context review
canister.png Overlaps with existing public/concepts/ images
vcs-1..4.png Verifiable credentials screenshots; no matching page
Candid-xrc.png XRC canister UI screenshot, not a concept diagram
ckbtc-overview.png Overlaps with existing public/concepts/chain-fusion/ckbtc-architecture.png
Exchange rate UI screenshots (2) UI captures
Blog images (~200) Blog content, no doc home

Sync recommendation

docs/getting-started/app-architecture.mdinformed by dfinity/portal docs/building-apps/best-practices/application-architectures.mdx, docs/building-apps/getting-started/app-architecture.mdx

Images: copied from dfinity/portal static/img/docs/ and docs/*/_attachments/.

Move docs/concepts/app-architecture.md → docs/getting-started/app-architecture.md
(order 3, between project-structure and choose-your-path) so new developers
encounter architectural patterns before picking a development track.

Update sidebar.mjs, fix all inbound links, and adjust choose-your-path to order 4.

Copy 13 concept/architecture diagrams from portal that have not yet been migrated.
Images are staged in public/ directories co-located with the pages that will use them;
embedding is left for follow-up once each image is reviewed. Skipped: UI screenshots,
blog images, and tutorial step-by-step captures (no doc-page home, change too fast).
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 13, 2026

🤖 Here's your preview: https://uc7il-jaaaa-aaaam-ai2gq-cai.icp0.io

marc0olo added 3 commits May 13, 2026 20:45
Add the five images that add genuine visual clarity to concept pages:
- app-arch.png → app-architecture.md (two-canister model overview)
- inside-canister.png → canisters.md (canister components diagram)
- key_derivation.png → chain-key-cryptography.md (BIP-32 derivation hierarchy)
- vetkd_diagram.png → vetkeys.md (protocol flow)
- vetkd_derivation.png → vetkeys.md (key hierarchy)

Remove sdk-protocol-local-overview.svg and sdk-protocol-network.svg: not
referenced in any portal docs page and reference dfx toolchain concepts.

Remaining staged images (not yet embedded): app-flow.png, call-canister.png,
ingress_async_call.png, ingress_sync_call.png, retry_idempotency.png,
transaction-overview.svg — see PR description for placement plan.
Drop five images that turned out to be redundant or without a page:
- retry_idempotency.png: idempotency.md already has a native PlantUML diagram
- ingress_async_call.png + ingress_sync_call.png: https-interface.md already
  covers both patterns with a PlantUML state diagram and full prose; these would
  duplicate content in a worse format
- transaction-overview.svg: no matching page (was cycles cost formulas in portal)
- app-flow.png: redundant with app-arch.png already embedded in app-architecture.md

Remaining staged image: public/concepts/canisters/call-canister.png
Candidate home: calling-from-clients.md "Query vs update calls" section.
@marc0olo marc0olo marked this pull request as ready for review May 13, 2026 19:13
@marc0olo marc0olo requested a review from a team as a code owner May 13, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant